/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pkgBlackJack;

import java.awt.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import Main.Frame;

/**
 *
 * @author Usager
 */
public class Blackjack extends JPanel {

    //Blackjack bj;
    Random aleatoire = new Random();
    int carteAleatoire;
    int iJoueur = 0;
    int iCroupier = 0;
    int rappelJoueur = 1;
    int rappelCroupier = 1;
    int nbreCartes = 0;
    int fail = 1;
    int bust = 21;
    double mise;
    double differentielJoueur;
    String reponse = "oui";
    ArrayList<Integer> cartes = new ArrayList<Integer>();
    JLabel lblBlackJack = new JLabel("                             ");
    JPanel panneau1 = new JPanel(new GridLayout(1, 3));
    JPanel panneau2 = new JPanel(new GridLayout(3, 1));
    JPanel panneauJoueur = new JPanel(new BorderLayout());
    JPanel panneauCroupier = new JPanel(new BorderLayout());
    JPanel pnlStatsDuJoueur = new JPanel(new GridLayout(3, 1));
    JButton btnQuitter = new JButton("Quitter");
    JButton btnJouer = new JButton("Jouer");
    JPanel pnlQuedal = new JPanel(new GridLayout(1, 2));
    JLabel lblMise = new JLabel("Mise : ");
    JTextField txtMise = new JTextField();
    JLabel lblStatsJoueurArgent = new JLabel("Montant d'argent: " + "$", JLabel.CENTER);
    JLabel lblStatsJoueurDifferentiel = new JLabel("Differentiel: " + differentielJoueur + "$", JLabel.CENTER);
    JLabel lblTexteJoueur = new JLabel("Joueur", JLabel.CENTER);
    JButton btnPiocherJoueur = new JButton("Piocher");
    JButton btnArreterJoueur = new JButton("Arrêter");
    JLabel lblCarteJoueur = new JLabel("", JLabel.CENTER);
    JLabel lblTotalJoueur = new JLabel("Total: " + iJoueur, JLabel.CENTER);
    JLabel lblTexteCroupier = new JLabel("Croupier", JLabel.CENTER);
    JButton btnPiocherCroupier = new JButton("Piocher");
    JButton btnArreterCroupier = new JButton("Arrêter");
    JLabel lblCarteCroupier = new JLabel("", JLabel.CENTER);
    JLabel lblTotalCroupier = new JLabel("Total: " + iCroupier, JLabel.CENTER);
    Frame frame;
    GererEvenementBJ evenement;
    //image load trefle
    Image AS_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/As_Trefle.JPG");
    Image DEUX_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Deux_Trefle.JPG");
    Image TROIS_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Trois_Trefle.JPG");
    Image QUATRE_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Quatre_Trefle.JPG");
    Image CINQ_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Cinq_Trefle.JPG");
    Image SIX_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Six_Trefle.JPG");
    Image SEPT_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Sept_Trefle.JPG");
    Image HUIT_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Huit_Trefle.JPG");
    Image NEUF_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Neuf_Trefle.JPG");
    Image DIX_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Dix_Trefle.JPG");
    Image VALET_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Valet_Trefle.JPG");
    Image REINE_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Reine_Trefle.JPG");
    Image ROI_TREFLE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Roi_Trefle.JPG");
    //image load carreau
    Image AS_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/As_Carreau.JPG");
    Image DEUX_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Deux_Carreau.JPG");
    Image TROIS_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Trois_Carreau.JPG");
    Image QUATRE_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Quatre_Carreau.JPG");
    Image CINQ_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Cinq_Carreau.JPG");
    Image SIX_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Six_Carreau.JPG");
    Image SEPT_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Sept_Carreau.JPG");
    Image HUIT_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Huit_Carreau.JPG");
    Image NEUF_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Neuf_Carreau.JPG");
    Image DIX_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Dix_Carreau.JPG");
    Image VALET_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Valet_Carreau.JPG");
    Image REINE_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Reine_Carreau.JPG");
    Image ROI_CARREAU = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Roi_Carreau.JPG");
    //image load pique
    Image AS_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/As_Pique.JPG");
    Image DEUX_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Deux_Pique.JPG");
    Image TROIS_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Trois_Pique.JPG");
    Image QUATRE_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Quatre_Pique.JPG");
    Image CINQ_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Cinq_Pique.JPG");
    Image SIX_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Six_Pique.JPG");
    Image SEPT_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Sept_Pique.JPG");
    Image HUIT_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Huit_Pique.JPG");
    Image NEUF_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Neuf_Pique.JPG");
    Image DIX_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Dix_Pique.JPG");
    Image VALET_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Valet_Pique.JPG");
    Image REINE_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Reine_Pique.JPG");
    Image ROI_PIQUE = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Roi_Pique.JPG");
    //image load coeur
    Image AS_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/As_Coeur.JPG");
    Image DEUX_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Deux_Coeur.JPG");
    Image TROIS_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Trois_Coeur.JPG");
    Image QUATRE_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Quatre_Coeur.JPG");
    Image CINQ_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Cinq_Coeur.JPG");
    Image SIX_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Six_Coeur.JPG");
    Image SEPT_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Sept_Coeur.JPG");
    Image HUIT_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Huit_Coeur.JPG");
    Image NEUF_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Neuf_Coeur.JPG");
    Image DIX_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Dix_Coeur.JPG");
    Image VALET_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Valet_Coeur.JPG");
    Image REINE_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Reine_Coeur.JPG");
    Image ROI_COEUR = Toolkit.getDefaultToolkit().createImage("Cartes_Casino/Roi_Coeur.JPG");
    //image du board

    /**
     * Constructeur de la classe Blackjack
     * @param frame: Le frame (cadre) dans lequel le panneau BlackJack est ajouté
     * @param HAUTEUR:La hauteur du cadre
     * @param LARGEUR:La largeur du cadre
     */
    public Blackjack(Frame frame, int HAUTEUR, int LARGEUR) throws IOException {
        this.frame = frame;
        //this.bj = this;
        frame.setSize(new Dimension(LARGEUR, HAUTEUR));
        frame.invalidate();
        frame.getRootPane();
        frame.repaint();

        evenement = new GererEvenementBJ(this, frame);
        //argentJoueur = Double.parseDouble(JOptionPane.showInputDialog("Veuillez indiquer votre montant d'argent."));
        lblStatsJoueurArgent.setText("Montant d'argent: " + frame.argent + "$");

        pnlQuedal.add(lblMise);
        pnlQuedal.add(txtMise);

        pnlStatsDuJoueur.add(lblStatsJoueurArgent);
        pnlStatsDuJoueur.add(pnlQuedal);
        pnlStatsDuJoueur.add(lblStatsJoueurDifferentiel);

        panneau2.add(pnlStatsDuJoueur);
        panneau2.add(btnJouer);
        panneau2.add(btnQuitter);

        panneauJoueur.add(lblTexteJoueur, BorderLayout.NORTH);
        panneauJoueur.add(lblTotalJoueur, BorderLayout.SOUTH);
        panneauJoueur.add(btnArreterJoueur, BorderLayout.EAST);
        panneauJoueur.add(btnPiocherJoueur, BorderLayout.WEST);
        panneauJoueur.add(lblCarteJoueur, BorderLayout.CENTER);

        panneauCroupier.add(lblTexteCroupier, BorderLayout.NORTH);
        panneauCroupier.add(lblTotalCroupier, BorderLayout.SOUTH);
        panneauCroupier.add(btnArreterCroupier, BorderLayout.EAST);
        panneauCroupier.add(btnPiocherCroupier, BorderLayout.WEST);
        panneauCroupier.add(lblCarteCroupier, BorderLayout.CENTER);

        panneau1.add(panneau2);
        panneau1.add(panneauJoueur);
        panneau1.add(panneauCroupier);
        panneau1.setSize(100, 100);

        btnJouer.addActionListener(evenement);
        btnQuitter.addActionListener(evenement);
        btnPiocherJoueur.addActionListener(evenement);
        btnArreterJoueur.addActionListener(evenement);
        btnPiocherCroupier.addActionListener(evenement);
        btnArreterCroupier.addActionListener(evenement);
        txtMise.addKeyListener(evenement);

        this.add(lblBlackJack, BorderLayout.NORTH);
        this.add(panneau1);
        setVisible(true);

        prochaineManche();
    }

    /**
     * Méthode qui prépare la prochaine manche
     */
    public final void prochaineManche() {
        iJoueur = 0;
        iCroupier = 0;
        cartes.clear();
        btnPiocherJoueur.setEnabled(false);
        btnJouer.setEnabled(false);
        btnArreterJoueur.setEnabled(false);
        btnArreterCroupier.setEnabled(false);
        btnPiocherCroupier.setEnabled(false);
        txtMise.setEnabled(true);
        btnQuitter.setEnabled(true);
        txtMise.setText("0");


        // Gestion des boutons

        // Redessiner après modification au panneau
        panneau1.invalidate();
        panneau1.repaint();
    }

    /**
     * Méthode qui dessine les images utilisées dans le blackjack
     * @param g: Pour dessiner les cartes et la table
     */
    @Override
    public void paint(Graphics g) {
        super.paint(g);

        g.setFont(new Font("Eras Demi ITC", 1, 30));
        g.setColor(Color.RED);
        g.drawString("BlackJack Deluxe", 102, 25);

        g.setColor(Color.GRAY);
        g.fillRect(0, 210, 490, 200);
        g.drawImage(frame.BOARD, 32, 215, null);

        if (cartes.size() >= 1) {

            if (cartes.get(0) == 1) {
                g.drawImage(AS_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 2) {
                g.drawImage(DEUX_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 3) {
                g.drawImage(TROIS_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 4) {
                g.drawImage(QUATRE_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 5) {
                g.drawImage(CINQ_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 6) {
                g.drawImage(SIX_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 7) {
                g.drawImage(SEPT_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 8) {
                g.drawImage(HUIT_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 9) {
                g.drawImage(NEUF_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 10) {
                g.drawImage(DIX_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 11) {
                g.drawImage(VALET_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 12) {
                g.drawImage(REINE_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 13) {
                g.drawImage(ROI_TREFLE, 67, 258, null);
            }
            if (cartes.get(0) == 14) {
                g.drawImage(AS_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 15) {
                g.drawImage(DEUX_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 16) {
                g.drawImage(TROIS_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 17) {
                g.drawImage(QUATRE_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 18) {
                g.drawImage(CINQ_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 19) {
                g.drawImage(SIX_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 20) {
                g.drawImage(SEPT_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 21) {
                g.drawImage(HUIT_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 22) {
                g.drawImage(NEUF_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 23) {
                g.drawImage(DIX_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 24) {
                g.drawImage(VALET_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 25) {
                g.drawImage(REINE_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 26) {
                g.drawImage(ROI_CARREAU, 67, 258, null);
            }
            if (cartes.get(0) == 27) {
                g.drawImage(AS_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 28) {
                g.drawImage(DEUX_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 29) {
                g.drawImage(TROIS_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 30) {
                g.drawImage(QUATRE_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 31) {
                g.drawImage(CINQ_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 32) {
                g.drawImage(SIX_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 33) {
                g.drawImage(SEPT_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 34) {
                g.drawImage(HUIT_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 35) {
                g.drawImage(NEUF_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 36) {
                g.drawImage(DIX_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 37) {
                g.drawImage(VALET_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 38) {
                g.drawImage(REINE_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 39) {
                g.drawImage(ROI_PIQUE, 67, 258, null);
            }
            if (cartes.get(0) == 40) {
                g.drawImage(AS_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 41) {
                g.drawImage(DEUX_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 42) {
                g.drawImage(TROIS_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 43) {
                g.drawImage(QUATRE_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 44) {
                g.drawImage(CINQ_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 45) {
                g.drawImage(SIX_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 46) {
                g.drawImage(SEPT_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 47) {
                g.drawImage(HUIT_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 48) {
                g.drawImage(NEUF_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 49) {
                g.drawImage(DIX_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 50) {
                g.drawImage(VALET_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 51) {
                g.drawImage(REINE_COEUR, 67, 258, null);
            }
            if (cartes.get(0) == 52) {
                g.drawImage(ROI_COEUR, 67, 258, null);
            }
            if (cartes.size() >= 2) {
                if (cartes.get(1) == 1) {
                    g.drawImage(AS_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 2) {
                    g.drawImage(DEUX_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 3) {
                    g.drawImage(TROIS_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 4) {
                    g.drawImage(QUATRE_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 5) {
                    g.drawImage(CINQ_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 6) {
                    g.drawImage(SIX_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 7) {
                    g.drawImage(SEPT_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 8) {
                    g.drawImage(HUIT_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 9) {
                    g.drawImage(NEUF_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 10) {
                    g.drawImage(DIX_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 11) {
                    g.drawImage(VALET_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 12) {
                    g.drawImage(REINE_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 13) {
                    g.drawImage(ROI_TREFLE, 137, 258, null);
                }
                if (cartes.get(1) == 14) {
                    g.drawImage(AS_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 15) {
                    g.drawImage(DEUX_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 16) {
                    g.drawImage(TROIS_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 17) {
                    g.drawImage(QUATRE_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 18) {
                    g.drawImage(CINQ_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 19) {
                    g.drawImage(SIX_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 20) {
                    g.drawImage(SEPT_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 21) {
                    g.drawImage(HUIT_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 22) {
                    g.drawImage(NEUF_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 23) {
                    g.drawImage(DIX_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 24) {
                    g.drawImage(VALET_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 25) {
                    g.drawImage(REINE_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 26) {
                    g.drawImage(ROI_CARREAU, 137, 258, null);
                }
                if (cartes.get(1) == 27) {
                    g.drawImage(AS_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 28) {
                    g.drawImage(DEUX_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 29) {
                    g.drawImage(TROIS_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 30) {
                    g.drawImage(QUATRE_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 31) {
                    g.drawImage(CINQ_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 32) {
                    g.drawImage(SIX_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 33) {
                    g.drawImage(SEPT_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 34) {
                    g.drawImage(HUIT_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 35) {
                    g.drawImage(NEUF_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 36) {
                    g.drawImage(DIX_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 37) {
                    g.drawImage(VALET_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 38) {
                    g.drawImage(REINE_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 39) {
                    g.drawImage(ROI_PIQUE, 137, 258, null);
                }
                if (cartes.get(1) == 40) {
                    g.drawImage(AS_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 41) {
                    g.drawImage(DEUX_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 42) {
                    g.drawImage(TROIS_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 43) {
                    g.drawImage(QUATRE_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 44) {
                    g.drawImage(CINQ_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 45) {
                    g.drawImage(SIX_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 46) {
                    g.drawImage(SEPT_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 47) {
                    g.drawImage(HUIT_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 48) {
                    g.drawImage(NEUF_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 49) {
                    g.drawImage(DIX_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 50) {
                    g.drawImage(VALET_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 51) {
                    g.drawImage(REINE_COEUR, 137, 258, null);
                }
                if (cartes.get(1) == 52) {
                    g.drawImage(ROI_COEUR, 137, 258, null);
                }
                if (cartes.size() >= 3) {
                    if (cartes.get(2) == 1) {
                        g.drawImage(AS_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 2) {
                        g.drawImage(DEUX_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 3) {
                        g.drawImage(TROIS_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 4) {
                        g.drawImage(QUATRE_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 5) {
                        g.drawImage(CINQ_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 6) {
                        g.drawImage(SIX_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 7) {
                        g.drawImage(SEPT_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 8) {
                        g.drawImage(HUIT_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 9) {
                        g.drawImage(NEUF_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 10) {
                        g.drawImage(DIX_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 11) {
                        g.drawImage(VALET_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 12) {
                        g.drawImage(REINE_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 13) {
                        g.drawImage(ROI_TREFLE, 207, 258, null);
                    }
                    if (cartes.get(2) == 14) {
                        g.drawImage(AS_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 15) {
                        g.drawImage(DEUX_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 16) {
                        g.drawImage(TROIS_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 17) {
                        g.drawImage(QUATRE_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 18) {
                        g.drawImage(CINQ_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 19) {
                        g.drawImage(SIX_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 20) {
                        g.drawImage(SEPT_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 21) {
                        g.drawImage(HUIT_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 22) {
                        g.drawImage(NEUF_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 23) {
                        g.drawImage(DIX_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 24) {
                        g.drawImage(VALET_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 25) {
                        g.drawImage(REINE_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 26) {
                        g.drawImage(ROI_CARREAU, 207, 258, null);
                    }
                    if (cartes.get(2) == 27) {
                        g.drawImage(AS_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 28) {
                        g.drawImage(DEUX_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 29) {
                        g.drawImage(TROIS_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 30) {
                        g.drawImage(QUATRE_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 31) {
                        g.drawImage(CINQ_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 32) {
                        g.drawImage(SIX_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 33) {
                        g.drawImage(SEPT_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 34) {
                        g.drawImage(HUIT_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 35) {
                        g.drawImage(NEUF_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 36) {
                        g.drawImage(DIX_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 37) {
                        g.drawImage(VALET_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 38) {
                        g.drawImage(REINE_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 39) {
                        g.drawImage(ROI_PIQUE, 207, 258, null);
                    }
                    if (cartes.get(2) == 40) {
                        g.drawImage(AS_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 41) {
                        g.drawImage(DEUX_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 42) {
                        g.drawImage(TROIS_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 43) {
                        g.drawImage(QUATRE_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 44) {
                        g.drawImage(CINQ_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 45) {
                        g.drawImage(SIX_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 46) {
                        g.drawImage(SEPT_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 47) {
                        g.drawImage(HUIT_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 48) {
                        g.drawImage(NEUF_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 49) {
                        g.drawImage(DIX_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 50) {
                        g.drawImage(VALET_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 51) {
                        g.drawImage(REINE_COEUR, 207, 258, null);
                    }
                    if (cartes.get(2) == 52) {
                        g.drawImage(ROI_COEUR, 207, 258, null);
                    }
                    if (cartes.size() >= 4) {
                        if (cartes.get(3) == 1) {
                            g.drawImage(AS_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 2) {
                            g.drawImage(DEUX_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 3) {
                            g.drawImage(TROIS_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 4) {
                            g.drawImage(QUATRE_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 5) {
                            g.drawImage(CINQ_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 6) {
                            g.drawImage(SIX_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 7) {
                            g.drawImage(SEPT_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 8) {
                            g.drawImage(HUIT_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 9) {
                            g.drawImage(NEUF_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 10) {
                            g.drawImage(DIX_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 11) {
                            g.drawImage(VALET_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 12) {
                            g.drawImage(REINE_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 13) {
                            g.drawImage(ROI_TREFLE, 277, 258, null);
                        }
                        if (cartes.get(3) == 14) {
                            g.drawImage(AS_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 15) {
                            g.drawImage(DEUX_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 16) {
                            g.drawImage(TROIS_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 17) {
                            g.drawImage(QUATRE_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 18) {
                            g.drawImage(CINQ_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 19) {
                            g.drawImage(SIX_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 20) {
                            g.drawImage(SEPT_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 21) {
                            g.drawImage(HUIT_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 22) {
                            g.drawImage(NEUF_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 23) {
                            g.drawImage(DIX_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 24) {
                            g.drawImage(VALET_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 25) {
                            g.drawImage(REINE_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 26) {
                            g.drawImage(ROI_CARREAU, 277, 258, null);
                        }
                        if (cartes.get(3) == 27) {
                            g.drawImage(AS_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 28) {
                            g.drawImage(DEUX_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 29) {
                            g.drawImage(TROIS_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 30) {
                            g.drawImage(QUATRE_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 31) {
                            g.drawImage(CINQ_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 32) {
                            g.drawImage(SIX_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 33) {
                            g.drawImage(SEPT_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 34) {
                            g.drawImage(HUIT_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 35) {
                            g.drawImage(NEUF_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 36) {
                            g.drawImage(DIX_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 37) {
                            g.drawImage(VALET_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 38) {
                            g.drawImage(REINE_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 39) {
                            g.drawImage(ROI_PIQUE, 277, 258, null);
                        }
                        if (cartes.get(3) == 40) {
                            g.drawImage(AS_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 41) {
                            g.drawImage(DEUX_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 42) {
                            g.drawImage(TROIS_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 43) {
                            g.drawImage(QUATRE_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 44) {
                            g.drawImage(CINQ_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 45) {
                            g.drawImage(SIX_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 46) {
                            g.drawImage(SEPT_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 47) {
                            g.drawImage(HUIT_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 48) {
                            g.drawImage(NEUF_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 49) {
                            g.drawImage(DIX_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 50) {
                            g.drawImage(VALET_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 51) {
                            g.drawImage(REINE_COEUR, 277, 258, null);
                        }
                        if (cartes.get(3) == 52) {
                            g.drawImage(ROI_COEUR, 277, 258, null);
                        }
                        if (cartes.size() >= 5) {
                            if (cartes.get(4) == 1) {
                                g.drawImage(AS_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 2) {
                                g.drawImage(DEUX_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 3) {
                                g.drawImage(TROIS_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 4) {
                                g.drawImage(QUATRE_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 5) {
                                g.drawImage(CINQ_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 6) {
                                g.drawImage(SIX_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 7) {
                                g.drawImage(SEPT_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 8) {
                                g.drawImage(HUIT_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 9) {
                                g.drawImage(NEUF_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 10) {
                                g.drawImage(DIX_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 11) {
                                g.drawImage(VALET_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 12) {
                                g.drawImage(REINE_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 13) {
                                g.drawImage(ROI_TREFLE, 347, 258, null);
                            }
                            if (cartes.get(4) == 14) {
                                g.drawImage(AS_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 15) {
                                g.drawImage(DEUX_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 16) {
                                g.drawImage(TROIS_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 17) {
                                g.drawImage(QUATRE_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 18) {
                                g.drawImage(CINQ_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 19) {
                                g.drawImage(SIX_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 20) {
                                g.drawImage(SEPT_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 21) {
                                g.drawImage(HUIT_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 22) {
                                g.drawImage(NEUF_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 23) {
                                g.drawImage(DIX_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 24) {
                                g.drawImage(VALET_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 25) {
                                g.drawImage(REINE_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 26) {
                                g.drawImage(ROI_CARREAU, 347, 258, null);
                            }
                            if (cartes.get(4) == 27) {
                                g.drawImage(AS_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 28) {
                                g.drawImage(DEUX_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 29) {
                                g.drawImage(TROIS_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 30) {
                                g.drawImage(QUATRE_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 31) {
                                g.drawImage(CINQ_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 32) {
                                g.drawImage(SIX_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 33) {
                                g.drawImage(SEPT_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 34) {
                                g.drawImage(HUIT_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 35) {
                                g.drawImage(NEUF_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 36) {
                                g.drawImage(DIX_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 37) {
                                g.drawImage(VALET_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 38) {
                                g.drawImage(REINE_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 39) {
                                g.drawImage(ROI_PIQUE, 347, 258, null);
                            }
                            if (cartes.get(4) == 40) {
                                g.drawImage(AS_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 41) {
                                g.drawImage(DEUX_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 42) {
                                g.drawImage(TROIS_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 43) {
                                g.drawImage(QUATRE_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 44) {
                                g.drawImage(CINQ_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 45) {
                                g.drawImage(SIX_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 46) {
                                g.drawImage(SEPT_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 47) {
                                g.drawImage(HUIT_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 48) {
                                g.drawImage(NEUF_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 49) {
                                g.drawImage(DIX_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 50) {
                                g.drawImage(VALET_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 51) {
                                g.drawImage(REINE_COEUR, 347, 258, null);
                            }
                            if (cartes.get(4) == 52) {
                                g.drawImage(ROI_COEUR, 347, 258, null);
                            }
                        }
                    }
                }
            }
        }
        frame.invalidate();
        frame.getRootPane();
        frame.repaint();
    }
}
